package com.beta.auth.service;

import com.beta.auth.dto.auth.AuthDto;
import com.beta.auth.dto.auth.WXAuthState;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author gwqin
 * @description 授权接口
 * @date 2023-07-13 13:43
 */
public interface AuthService {

    /**
     * 获取渠道类型
     * 1、企微授权（自建应用，默认）
     * 2、联合授权（本地化 + SAAS）
     * 3、微信授权（公众号）
     * @return
     */
    String getChannel();

    /**
     * 授权接口
     * @param authDto 授权接收参数
     * @param authState 授权缓存参数
     * @param request http请求对象
     * @param response http响应对象
     */
    void oAuth(AuthDto authDto, WXAuthState authState, HttpServletRequest request, HttpServletResponse response);


}
